کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش SI With Collection-Java Spring

SI توسط مجموعه

مثال تزریق setter توسط مجموعه

در فریمورک اسپرینگ می توان با استفاده از متد setter به تزریق مقادیر مجموعه پرداخت. از سه عنصر list، set و map می توان داخل عنصر خصیصه(property) استفاده کرد. هر مجموعه می تواند مقادیر مبتنی بر رشته یا غیر رشته داشته باشد.

این مثال برگرفته از فرومی است که" یک سوال می تواند چندین پاسخ داشته باشد" و دارای سه فایل زیر است:

1. Question.java

2. applicationContext.xml

3. Test.java

در این مثال ما از list استفاده می کنیم که قابلیت داشتن عناصر تکراری را دارد. شما می توانید از set که تنها شامل عناصر یکتا است استفاده کنید. در صورت استفاده از set، در فایل applicationContext.xml ، list را به set و در فایل Question.java ،List را به Set تغییر دهید.


Question.java:

این کلاس شامل سه خصیصه به همراه setter و getter های آن و متد displayInfo() برای چاپ اطلاعات است. در اینجا از list برای ذخیره پاسخ ها استفاده می کنیم.

package com.javatpoint;  
import java.util.Iterator;  
import java.util.List;    
public class Question {  
private int id;  
private String name;  
private List< String> answers;    
//setters and getters   
public void displayInfo(){  
    System.out.println(id+" "+name);  
    System.out.println("answers are:");  
    Iterator< String> itr=answers.iterator();  
    while(itr.hasNext()){  
        System.out.println(itr.next());  
    }  
}  
}      

applicationContext.xml:

برای تعریف لیست از عنصر لیست constructor-arg استفاده می شود.

< ?xml version="1.0" encoding="UTF-8" ?>

< beans 3. xmlns="http://www.springframework.org/schema/beans"
         4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         5. xmlns:p="http://www.springframework.org/schema/p"
         6. xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
  
< bean id="q" class="com.javatpoint.Question">  
< property name="id" value="1">< /property>  
< property name="name" value="What is Java?">< /property>  
< property name="answers">  
< list>  
< value>Java is a programming language< /value>  
< value>Java is a platform< /value>  
< value>Java is an Island< /value>  
< /list>  
< /property>  
< /bean>  
  
< /beans>      

Test.java:

این کلاس bean را از فایل applicationContext.xml می گیرد و متد displayInfo را فراخوانی می کند.

package com.javatpoint;  
  
import org.springframework.beans.factory.BeanFactory;  
import org.springframework.beans.factory.xml.XmlBeanFactory;  
import org.springframework.core.io.ClassPathResource;  
import org.springframework.core.io.Resource;    
public class Test {  
public static void main(String[] args) {  
    Resource r=new ClassPathResource("applicationContext.xml");  
    BeanFactory factory=new XmlBeanFactory(r);    
    Question q=(Question)factory.getBean("q");  
    q.displayInfo();       
}  
}     
1398/12/14 1717 518
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...